<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>变量提升和函数提升</title>
    <script>
        /**
         * 变量提升，使用var声明的变量，在作用域内声明之前就能访问，得到的是undefined
         */
        var a = 3;
        function test() {
            //var a 函数执行前，实际上会先声明a
            console.log(a)
            var a = 15
        }
        test();//undefined 
        
        console.log(b)
        var b = 100
        console.log(b)

        /**
         * 函数提升
         */
        fun()
        function fun() {
            console.log('fun')
        }
        
        
        //fun3();// 不能执行，按照变量提升对待
        var fun3 = function () {
            console.log('helloworld');
        }
      
    </script>
</head>
<body>
    
</body>
</html>
